package com.government.article.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.government.common.annotation.Excel;
import com.government.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 政策分类信息对象 t_article_policy
 *
 * @author system
 * @date 2023-09-20
 */
@TableName("t_article_policy")
@Data
public class ArticlePolicy extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 文章id */
    @TableId
    private Long articleId;

    /** 利好 */
    @Excel(name = "利好")
    private String benefits;

    /** 父级id */
    @Excel(name = "父级id")
    private String parentId;

    /** 关联政策id */
    @Excel(name = "关联政策id")
    private String connection;

    /** 状态 1-有效  2-废止 */
    @Excel(name = "状态 1-有效  2-废止")
    private String status;

    /** 申报截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申报截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(updateStrategy = FieldStrategy.IGNORED, insertStrategy = FieldStrategy.IGNORED)
    private Date cutOffTime;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 曾用名 */
    @Excel(name = "曾用名")
    private String formerName;

    /** 支持额度 */
    @Excel(name = "支持额度")
    private String quota1;

    @Excel(name = "支持额度")
    private String quota2;

    /** 首批年份 */
    @Excel(name = "首批年份")
    private String year;

    /** 主管单位id */
    @Excel(name = "主管单位id")
    private Long orgId;

    /** 政策范围 所属地区 */
    @Excel(name = "政策范围 所属地区")
    private String district;

    /** 标签 */
    @Excel(name = "标签")
    private String tag;

    /** 管理关系 */
    @Excel(name = "管理关系")
    private String manageRel;

    /** 演变关系 */
    private String evolutionRel;

    /** 关系类型 1-替代  2-并入 */
    private String relType;

    /** 支持范围 1-部分 2-全部 */
    private String supportRange;

    /** 项目简介 */
    private String intro;

    /** 申报系统名称 */
    private String webUrl;

//    /** 申报系统名称 */
//    private String systemName1;
//
//    /** 申报系统名称 */
//    private String systemName2;
//
//    /** 申报系统名称 */
//    private String systemName3;
//
//    /** 申报系统地址 */
//    @Excel(name = "申报系统地址")
//    private String systemWeb1;
//
//    /** 申报系统地址 */
//    private String systemWeb2;
//
//    /** 申报系统地址 */
//    private String systemWeb3;

    /** 一级排序值 */
    private Integer sort1;

    /** 二级排序值 */
    private Integer sort2;

    /** 三级排序值 */
    private Integer sort3;

    /**
     * 是否删除 1-是 0-否
     */
    private String isDeleted;
    /**
     * 是否发布 1-是 0-否
     */
    private String isPublish;
    /**
     * 发布时间
     */
    private Date publishTime;

    /** 所属一级园区ID */
    private Long park1;

    /** 所属二级园区ID */
    private Long park2;

    /** 所属三级园区ID */
    private Long park3;

    /** 所属四级园区ID */
    private Long park4;

    /** 所属五级园区ID */
    private Long park5;

    /** 所属六级园区ID */
    private Long park6;

    /** 最后一级园区id */
    private Long lastPark;

    /** 所属一级园区 */
    private String parkName1;

    /** 所属二级园区 */
    private String parkName2;

    /** 所属三级园区 */
    private String parkName3;

    /** 所属四级园区 */
    private String parkName4;

    /** 所属五级园区 */
    private String parkName5;

    /** 所属六级园区 */
    private String parkName6;

    /** 最后一级园区名称 */
    private String lastParkName;

    /** 行业id字符串 */
    private String industryId;

    /** 项目层级 1一级 2二级 3三级 4四级  5五级*/
    private String itemGrade;

    /** 项目等级 1国家级 2省部级 3地市级 4区县级 5园区级*/
    private String itemLevel;

    /** 是否再次申报 1-是 0-否 */
    private String isRedeclaration;

    /** 对应事项 */
    private String correspondence;

    /** 项目类型 */
    private String itemType;

    /** 项目类型 */
    private String orgType;

    /** 前置政策 */
    private String prePolicyId;

    /** 间隔时间(年) */
    private String prePolicyYear;

    /**
     * 项目名称
     */
    @TableField(exist = false)
    private String itemName;

    /**
     * 立项金额
     */
    @TableField(exist = false)
    private String amount;

    /**
     * 项目批次
     */
    @TableField(exist = false)
    private String itemYear;

    /**
     * 所属政策
     */
    @TableField(exist = false)
    private String policyName;

    /**
     * 序号
     */
    @TableField(exist = false)
    private int sortNo;

    /**
     * 主管部门排序
     */
    @TableField(exist = false)
    private int orgSort;
}
